package com.mdd.admin.validate.order;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.Date;

import com.mdd.common.validator.annotation.IDMust;

/**
 * 租赁订单详情参数
 * @author LikeAdmin
 */
@Data
@ApiModel("租赁订单详情更新参数")
public class OrderLeaseDetailsUpdateValidate implements Serializable {

    private static final long serialVersionUID = 1L;

    @IDMust(message = "id参数必传且需大于0")
    @ApiModelProperty(value = "编号")
    private Long id;

    @ApiModelProperty(value = "订单编码")
    private Long orderId;
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "车辆id")
    private Long vehicleId;
    @ApiModelProperty(value = "服务类型")
    private Integer serviceType;

    @NotNull(message = "leasePeriod参数缺失")
    @ApiModelProperty(value = "租赁周期")
    private Integer leasePeriod;

    @NotNull(message = "downPayments参数缺失")
    @ApiModelProperty(value = "首付")
    private BigDecimal downPayments;

    @NotNull(message = "deposit参数缺失")
    @ApiModelProperty(value = "押金")
    private BigDecimal deposit;

    @NotNull(message = "eachIssue参数缺失")
    @ApiModelProperty(value = "每期租金")
    private BigDecimal eachIssue;

    @NotNull(message = "otherExpenses参数缺失")
    @ApiModelProperty(value = "其他费用")
    private BigDecimal otherExpenses;

    @NotNull(message = "dueDate参数缺失")
    @ApiModelProperty(value = "到期日期")
    private Date dueDate;

    @NotNull(message = "completionTime参数缺失")
    @ApiModelProperty(value = "完成时间")
    private Date completionTime;
}
